From 0c5bfe5f2b87412ccceb158e36634ba943520113 Mon Sep 17 00:00:00 2001 From: Christian Dywan Date: Wed, 24 Sep 2008 08:19:51 +0000 Subject: [PATCH] =?utf8?q?Bug=20541391=20=E2=80=93=20Unfocussable=20Treevi?= =?utf8?q?ew=20swallows=20focus?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit * gtk/gtktreeview.c (grab_focus_and_unset_draw_keyfocus), (gtk_tree_view_focus): Honor GTK_WIDGET_CAN_FOCUS properly svn path=/trunk/; revision=21507 --- ChangeLog | 7 +++++++ gtk/gtktreeview.c | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index fc30df8b2f..bc659c2ec5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-09-24 Christian Dywan + + Bug 541391 – Unfocussable Treeview swallows focus + + * gtk/gtktreeview.c (grab_focus_and_unset_draw_keyfocus), + (gtk_tree_view_focus): Honor GTK_WIDGET_CAN_FOCUS properly + 2008-09-24 Denis Washington * gtk/gtkiconview.c: draw focus as a rectangle around the diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index d2b6bea282..d663e2664d 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -2461,7 +2461,7 @@ gtk_tree_view_size_allocate (GtkWidget *widget, static void grab_focus_and_unset_draw_keyfocus (GtkTreeView *tree_view) { - if (!GTK_WIDGET_HAS_FOCUS (tree_view)) + if (GTK_WIDGET_CAN_FOCUS (tree_view) && !GTK_WIDGET_HAS_FOCUS (tree_view)) gtk_widget_grab_focus (GTK_WIDGET (tree_view)); GTK_TREE_VIEW_UNSET_FLAG (tree_view, GTK_TREE_VIEW_DRAW_KEYFOCUS); } @@ -7837,7 +7837,7 @@ gtk_tree_view_focus (GtkWidget *widget, GtkContainer *container = GTK_CONTAINER (widget); GtkWidget *focus_child; - if (!GTK_WIDGET_IS_SENSITIVE (container)) + if (!GTK_WIDGET_IS_SENSITIVE (container) || !GTK_WIDGET_CAN_FOCUS (widget)) return FALSE; focus_child = container->focus_child; -- 2.30.2